package net.chathu.airgw.model 
{
	import flash.utils.Dictionary;
	/**
	 * ...
	 * @author ze
	 */
	public class PrivateMessageQueue 
	{
		
		//az elkuldendo privat uzeneteket tartalmazza, amiket addig ir a felhasznalo, amig letre nem jon a privat beszelgetes
		//IRC eseten ablaknyitast nem tudjuk esemenykent feldolgozni, igy az elso uzenet, ami a partnernek kuldunk, ide kerul be,
		//es akkor tovabbitodik, amikor a chat szerver visszakuldte a privat beszelgetes azonositoit.
		
		private var messages:Dictionary;
		
		public function PrivateMessageQueue() 
		{
			messages = new Dictionary();
		}
		
		public function addMessageToQueue(userId:int, message:String):void {
			var userMessages:Vector.<String> = messages[userId];
			if (userMessages == null)
			{
				//az adott felhasznalohoz meg nem tartozik queue
				userMessages = new Vector.<String>();
				messages[userId] = userMessages;
			}
			
			userMessages.push(message);
		}
		
		public function removePartnerMessages(userId:int):Vector.<String>
		{
			var msgs:Vector.<String> = messages[userId];
			if (msgs == null)
			{
				msgs = new Vector.<String>();
			}
			delete messages[userId];
			
			return msgs;
		}
		
		
		public function get totalMesssagesInQueue():int {
			var cntr:int = 0;
			for each(var v:Vector.<String> in messages) {
				cntr += v.length;
			}
			return cntr;
		}
	}
}